#include<iostream>  
#include<cstdio>  
#include<algorithm>  
using namespace std;  
struct input{  
    int x1,x2,s;  
}a[5010];  
bool cmp(input x,input y)  
{  
    return x.x1<y.x1;  
}  
int main()  
{  
    int t;  
        int n,i,j,max;  
        scanf("%d",&n);  
        for(i=0;i<n;i++)  
        {  
            scanf("%d %d",&a[i].x1,&a[i].x2);  
            a[i].s=1;  
        }  
        sort(a,a+n,cmp);  
        for(i=1;i<n;i++)  
        {  
            max=0;  
            for(j=0;j<i;j++)  
             if(a[i].x2>a[j].x2&&max<a[j].s) max=a[j].s;  
            a[i].s+=max;  
        }  
        max=0;  
        for(i=0;i<n;i++)  
         if(max<a[i].s) max=a[i].s;  
        printf("%d\n",max);  
    return 0;  
}  
